package com.time.auth.infra.basic.service;

import com.time.auth.infra.basic.entity.AuthRolePermission;

import java.util.List;

/**
 * (AuthRolePermission)表服务接口类
 *
 * @author: HuangQi
 * @date: Created in 10:06 2025/9/23
 * @description: (AuthRolePermission)表服务接口
 */
public interface AuthRolePermissionService {

    /**
     * 通过角色ID集合查询权限ID集合
     *
     * @param roleIdList 角色id集合
     * @return 对应权限id集合
     */
    List<Long> queryByRoleIdList(List<Long> roleIdList);


    /**
     * 批量新增角色权限关联
     *
     * @param rolePermissionList 角色权限关联列表
     * @return 影响行数
     */
    Integer batchInsert(List<AuthRolePermission> rolePermissionList);

    /**
     * 根据条件查询角色权限关联
     *
     * @param authRolePermission 角色权限关联信息
     * @return 权限信息列表
     */
    List<AuthRolePermission> queryByCondition(AuthRolePermission authRolePermission);

    /**
     * 更新角色权限关联信息
     *
     * @param authRolePermission 角色权限关联信息
     * @return 影响行数
     */
    Integer update(AuthRolePermission authRolePermission);

    /**
     * 根据权限ID更新角色权限关联信息
     *
     * @param authRolePermission 角色权限关联信息
     * @return 影响行数
     */
    Integer updateByPermissionId(AuthRolePermission authRolePermission);

    /**
     * 根据角色ID更新角色权限关联信息
     *
     * @param authRolePermission 角色权限关联信息
     * @return 影响行数
     */
    Integer updateByRoleId(AuthRolePermission authRolePermission);
}
